const app = getApp(),
  url = app.globalData.apiUrl
let t_c_token = ''
/**
 * 获取未完成的发布
 * TODO:暂时弃用
 */
function getNotComplete() {
  console.log(t_c_token)

  // wx.request({
  //   url: url + '/thing/notCompleted',
  //   method: 'get',
  //   data: {
  //     login_token: login_token
  //   },
  //   success(res) {
  //     console.log(res)
  //     // 自动填入
  //   },
  //   fail(err) {
  //     //预发布  空的
  //   }
  // })
}
/**
 * 预发布，获取物品token
 */
function preCreate() {
  return new Promise((resolve, reject) => {
    wx.request({
      url: url + '/thing/preCreate',
      method: 'post',
      data: {
        login_token: app.globalData.login_token
      },
      success(res) {
        // console.log(res)
        t_c_token = res.data.data.thing_create_token
        resolve(res.data.data.thing_create_token)
      },
      fail(err) {
        console.error(err)
        reject()
      }
    })
  })
}
/**
 * 上传单张图片
 * @param {number} thing_id 物品ID
 * @param {string} tempFilePath 图片路径
 */
function image(tempFilePath, thing_id = false, success = () => {}, fail = () => {}) {
  let _url = url + (thing_id ? '/thing/' + thing_id + '/image' : '/thing/preCreate/image'),
    obj = {
      login_token: app.globalData.login_token
    }
  if (!thing_id) {
    obj.thing_create_token = t_c_token
  }
  return wx.uploadFile({
    url: _url,
    filePath: tempFilePath,
    name: 'file',
    formData: obj,
    success(res) {
      // console.log(res)
      success(res)
    },
    fail(err) {
      console.error(err)
      fail()
    }
  })
}

/**
 *  删除物品中的某张图
 * @param {number} thing_id 物品ID
 * @param {number} image_id 图片ID
 */
function deleImage(image_id, thing_id = false) {
  let _url = url + (thing_id ? '/thing/' + thing_id + '/image/' + image_id : '/thing/preCreate/image/' + image_id),
    obj = {
      login_token: app.globalData.login_token
    }
  if (!thing_id) {
    obj.thing_create_token = t_c_token
  }
  // console.log(_url, obj)

  return new Promise((resolve, reject) => {
    wx.request({
      url: _url,
      method: 'delete',
      data: obj,
      success(res) {
        resolve(res)
      },
      fail(err) {
        console.error(err)
        reject(err)
      }
    })
  })
}
/**
 * 上传数据
 * @param {number} thing_id 物品ID
 * @param {JSON} json 物品的json数据
 */
function publish(json, thing_id = false) {
  let _url = url + (thing_id ? '/thing/' + thing_id : '/thing'),
    obj = {
      login_token: app.globalData.login_token,
      ...json
    },
    method = thing_id ? 'put' : 'post'
  if (!thing_id) {
    obj.thing_create_token = t_c_token
  }
  console.log(_url, obj, method)

  return new Promise((resolve, reject) => {
    wx.request({
      url: _url,
      method: method,
      data: obj,
      success(res) {
        // console.log(res.data)
        resolve(res)
      },
      fail(err) {
        console.error(err)
        reject(err)
      }
    })
  })
}
module.exports = {
  deleImage: deleImage,
  getNotComplete: getNotComplete,
  preCreate: preCreate,
  image: image,
  publish: publish
}
